1. Field
Example embodiments of the following disclosure relate to a programmable Huffman decoding apparatus and method.
2. Description of the Related Art
Huffman coding is an example of a lossless compression method.
Video and audio standards developed to date generally use the Huffman lossless compression method.
The Huffman compression method estimates a probability value of a defined symbol and generates a Huffman tree from the estimated probability value, thereby creating a bit string including digital values of 0 and 1.
The Huffman compression method extracts an original symbol by comparing every bit string with a pre-generated Huffman table, during decoding.
According to the aforementioned typical characteristics of the Huffman compression method, a matching symbol may be found by checking the bit strings one by one.
According to the Huffman compression method, since probability characteristics of a symbol differ considerably depending on an application, different applications have different Huffman tables.
With regard to moving picture expert group (MPEG) which is a typical video standard, MPEG2 and MPEG4 define different Huffman tables from one another.
Therefore, in general, the Huffman compression method is implemented by software.
However, when software is used, comparison of every bit string with a table value is required, thereby considerably increasing an amount of calculation to be performed. In this case, a predetermined bit string may be stored in a memory and processed in groups.
However, processing in groups requires comparative calculation in units of a group. Also, a large capacity memory is necessary due to the storage of the Huffman table.
Accordingly, although hardware for high-speed processing has been developed, the hardware is inapplicable when an application is changed and each Huffman table is dedicatedly used for a particular application.